Struts2<s:iterator>标签循环迭代对象中的list问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 03:06:09
class Student {
String id;
String name;
List<Hobby> hobbyList;
}
class Hobby{
String name;
}
action中
List list<Student> = new ArrayList();
Student st1 = new Student();
List hobbyList1 = new ArrayList("张三");
Hobby hobby1 = new Hobby("篮球");
Hobby hobby1 = new Hobby("足球");
hobbyList1.add(hobby1);
hobbyList1.add(hobby2);
st1.setHobbyList(hobbyList1);
其他属性省略
list.add(st1);
list.add(st2);//st2的创建省略
request.setArribute("list","list");
页面中
<table>
<s:iterator value="#request.list">
<tr>
<td>学号:<s:property value="id"></td>
<td>名字:<s:property value="name"></td>
<td>爱好:?</td>//这个地方写什么才能让hobbyList循环输出其内容?
</tr>
</s:iterateor>
</table>

首先,你的上层 iterator 要指定 id
<s:iterator value="#request.list" id="list">
<!-- 都忘了内层还要不要id ,你自己试试 -->
<s:iterator value="#list.hobbyList">
<!-- 如果指定了id 则写成,id.name -->
<s:property value="name"/>
</s:iterator>

</s:iterateor>

<!-- struts 2 不要把那些 request session 等东西拿到 action 来!!! -->

?处代码:
<s:iterator value="hobbyList">
<s:property value="name">
</s:iterator>